package cn.kimming.wms.service;

import java.util.List;

import cn.kimming.wms.domain.Employee;
import cn.kimming.wms.domain.SystemMenu;
import cn.kimming.wms.query.QueryObject;
import cn.kimming.wms.vo.SystemMenuVO;

public interface ISystemMenuService {
	void save(SystemMenu obj);

	void update(SystemMenu obj);

	void delete(Long id);

	SystemMenu get(Long id);

	List<SystemMenu> list();

	List<SystemMenu> query(QueryObject qo);
	
	/**
	 * 列出子菜单(编码为NULL)
	 */
	List<SystemMenu> listChildren();
	
	/**
	 * 层级列出当前菜单的所有父菜单
	 * @return	父菜单对象集合
	 * 列如: 对于C菜单, 列出A->B
	 */
	List<SystemMenuVO> listParents(Long parentId);
	
	/**
	 * 根据父菜单编码加载子菜单
	 * @param parentSn	父菜单编码
	 * @return	返回菜单对象集合
	 */
	List<SystemMenu> loadMenus(String parentSn);

}
